맨위로가기

컴포넌트 기반 소프트웨어 공학

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

컴포넌트 기반 소프트웨어 공학(CBSE)은 대규모 시스템 개발 시 규율 있는 문화와 프로세스를 통해 이점을 얻을 수 있는 방법론이다. CBSE는 서드파티 컴포넌트의 활용, UML을 이용한 시스템 시각적 설계, 최종 사용자와 상호 작용하는 컴포넌트의 사용성 테스트를 포함한다. 기술적으로 특정 도메인의 소프트웨어 프레임워크, 컴포넌트 지향 프로그래밍, 컴파운드 도큐먼트 기술, 분산 컴퓨팅 소프트웨어 컴포넌트, 제네릭 프로그래밍, 인터페이스 서술 언어(IDLs) 등이 CBSE에 활용된다.

광고

더 읽어볼만한 페이지

  • 컴포넌트 기반 소프트웨어 공학 - 컴포넌트 오브젝트 모델
    컴포넌트 오브젝트 모델(COM)은 마이크로소프트에서 개발한 소프트웨어 컴포넌트 기술로, 서로 다른 애플리케이션이 객체를 통해 통신하고 기능을 공유할 수 있도록 하는 이진 인터페이스 표준을 제공하며, 다양한 프로그래밍 언어로 작성된 객체들의 상호 운용을 지원한다.
  • 컴포넌트 기반 소프트웨어 공학 - 공통 객체 요구 매개자 구조
    공통 객체 요구 매개자 구조(CORBA)는 객체 관리 그룹(OMG)에서 분산 컴퓨팅 환경에서 객체 지향 기술을 통합하기 위해 제정한 표준 아키텍처로서, 객체 요청 브로커(ORB)를 통해 객체 간 통신을 제공하고 다양한 서비스를 지원한다.
  • 소프트웨어 개발 - 유스 케이스
    유스 케이스는 시스템과 액터 간 상호작용을 통해 시스템 목표 달성에 기여하는 동작들을 나타내는 요구 사항 캡처, 모델링, 명세 기법으로, 객체 지향 소프트웨어 공학에서 기능 요구 사항을 캡처하는 데 중요한 역할을 하며 다양한 분야에서 활용된다.
  • 소프트웨어 개발 - 사용자 경험 디자인
    사용자 경험 디자인은 인간 공학에 기반하여 제품 또는 서비스와 사용자 간의 상호작용을 설계하는 분야이며, 사용자 조사, 인터랙션 디자인, 사용성 테스트 등을 통해 효율적이고 만족스러운 경험을 제공하는 것을 목표로 한다.
  • 객체 지향 프로그래밍 - Is-a
    Is-a 관계는 객체 지향 프로그래밍에서 한 유형이 다른 유형의 하위 유형임을 나타내는 관계로, 상속, 서브타이핑, 리스코프 치환 원칙과 관련되며, C++, Python, Java 등에서 표현된다.
  • 객체 지향 프로그래밍 - 객체 (컴퓨터 과학)
    객체는 객체 지향 프로그래밍에서 데이터와 조작을 묶어 메시지를 수신하고, 프로그램의 개념을 표현하며 가시성과 재사용성을 높이는 실체이다.

2. 고려 사항

대규모 팀에서 개발하는 대규모 시스템의 경우, 컴포넌트 기반 소프트웨어 공학(CBSE)의 이점을 얻기 위해 규율 있는 문화와 프로세스가 필요하다.[4] 서드파티 컴포넌트는 대규모 시스템에서 자주 활용된다.

UML를 사용하여 시스템을 시각적으로 설계할 수 있다.

UML에서 두 개의 컴포넌트의 예: 체크아웃은 고객의 주문을 처리하며, 다른 컴포넌트는 신용 카드를 청구해야 한다.
각 컴포넌트는 사각형으로 표시되며, 인터페이스는 제공된 인터페이스를 나타내는 막대 사탕 모양과 인터페이스의 사용을 나타내는 소켓 모양으로 표시된다.

컴포넌트 기반 사용성 테스트는 최종 사용자와 상호 작용하는 컴포넌트를 위한 것이다.

3. 기술

3. 1. 특정 도메인의 컴포넌트 기반 소프트웨어 프레임워크

3. 2. 컴포넌트 지향 프로그래밍



3. 3. 컴파운드 도큐먼트 기술

객체 연결 삽입 (OLE)

3. 4. 분산 컴퓨팅 소프트웨어 컴포넌트

3. 5. 제네릭 프로그래밍

제네릭 프로그래밍은 컴포넌트 기반 소프트웨어 공학의 한 분야이다.

3. 6. 인터페이스 서술 언어 (IDLs)

SOAP IDLXML-RPC는 인터페이스 서술 언어(IDL)이다.[6]

참조

[1] 서적 Component-Based Software Engineering: Putting the Pieces Together Addison-Wesley Professional
[2] 서적 Component Software: Beyond Object-Oriented Programming ACM Press - Pearson Educational
[3] 서적 Fundamentals of Software Architecture: An Engineering Approach O'Reilly Media
[4] 웹사이트 Why Software Reuse has Failed and How to Make It Work for You http://www.dre.vande[...] 2024-05-14
[5] 서적 Management Information Systems 12/E: Managing the Digital Firm P.539 Pearson Education Asia
[6] 서적 Programming Model and Protocols for Reconfigurable Distributed Systems https://www.kth.se/s[...] KTH Royal Institute of Technology 2013-04



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com